home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / misc / fcxref.lha / FCXRef / Src / cxref.h < prev    next >
C/C++ Source or Header  |  1999-02-09  |  2KB  |  105 lines

  1. /*
  2.  * Source generated with ARexxBox 1.12 (May 18 1993)
  3.  * which is Copyright (c) 1992,1993 Michael Balzer
  4.  */
  5.  
  6. #ifndef _cxref_H
  7. #define _cxref_H
  8.  
  9. #define RXIF_INIT   1
  10. #define RXIF_ACTION 2
  11. #define RXIF_FREE   3
  12.  
  13. #define ARB_CF_ENABLED     (1L << 0)
  14.  
  15. #define ARB_HF_CMDSHELL    (1L << 0)
  16. #define ARB_HF_USRMSGPORT  (1L << 1)
  17.  
  18. struct RexxHost
  19. {
  20.     struct MsgPort *port;
  21.     char portname[ 80 ];
  22.     long replies;
  23.     struct RDArgs *rdargs;
  24.     long flags;
  25.     APTR userdata;
  26. };
  27.  
  28. struct rxs_command
  29. {
  30.     char *command, *args, *results;
  31.     long resindex;
  32.     void (*function)( struct RexxHost *, void **, long, struct RexxMsg * );
  33.     long flags;
  34. };
  35.  
  36. struct arb_p_link
  37. {
  38.     char    *str;
  39.     int        dst;
  40. };
  41.  
  42. struct arb_p_state
  43. {
  44.     int        cmd;
  45.     struct arb_p_link *pa;
  46. };
  47.  
  48. #ifndef NO_GLOBALS
  49. extern char RexxPortBaseName[80];
  50. extern struct rxs_command rxs_commandlist[];
  51. extern struct arb_p_state arb_p_state[];
  52. extern int command_cnt;
  53. extern char *rexx_extension;
  54. #endif
  55.  
  56. void ReplyRexxCommand( struct RexxMsg *rxmsg, long prim, long sec, char *res );
  57. void FreeRexxCommand( struct RexxMsg *rxmsg );
  58. struct RexxMsg *CreateRexxCommand( struct RexxHost *host, char *buff, BPTR fh );
  59. struct RexxMsg *CommandToRexx( struct RexxHost *host, struct RexxMsg *rexx_command_message );
  60. struct RexxMsg *SendRexxCommand( struct RexxHost *host, char *buff, BPTR fh );
  61.  
  62. void CloseDownARexxHost( struct RexxHost *host );
  63. struct RexxHost *SetupARexxHost( char *basename, struct MsgPort *usrport );
  64. struct rxs_command *FindRXCommand( char *com );
  65. char *ExpandRXCommand( struct RexxHost *host, char *command );
  66. char *StrDup( char *s );
  67. void ARexxDispatch( struct RexxHost *host );
  68.  
  69. /* rxd-Strukturen dürfen nur AM ENDE um lokale Variablen erweitert werden! */
  70.  
  71. struct rxd_file
  72. {
  73.     long rc, rc2;
  74.     struct {
  75.         long open;
  76.         long close;
  77.     } arg;
  78. };
  79.  
  80. void rx_file( struct RexxHost *, struct rxd_file **, long, struct RexxMsg * );
  81.  
  82. struct rxd_quit
  83. {
  84.     long rc, rc2;
  85. };
  86.  
  87. void rx_quit( struct RexxHost *, struct rxd_quit **, long, struct RexxMsg * );
  88.  
  89. struct rxd_search
  90. {
  91.     long rc, rc2;
  92.     struct {
  93.         char *var, *stem;
  94.         char *word;
  95.     } arg;
  96.     struct {
  97.         char *filename;
  98.         char *linenumber;
  99.     } res;
  100. };
  101.  
  102. void rx_search( struct RexxHost *, struct rxd_search **, long, struct RexxMsg * );
  103.  
  104. #endif
  105.